/*有类定义如下：
class Car{
private:
string brand;	//品牌
double price;	//价格
public:
void running();	//运行
};
实现该汽车类的定义，使用vector保存多个Car对象，
然后按Car价格的降序排序，最后遍历vector，
使每一两Car的对象运行。
【4分：类的定义+初始化1分，
vector的排序、遍历2分，整体+规范1分】*/
#include <iostream>
using namespace std;
#include <vector>
#include <string>
#include <algorithm>

class Car{
private:
    string brand;	//品牌
    double price;	//价格
public:
    Car(string brand,double price)
    :brand(brand),price(price){}
    ~Car(){}
    string getBrand()
    {
        return brand;
    }
    double getPrice()
    {
        return price;
    }
    void setBrand(string &a)
    {
        brand = a;
    }
    void setPrice(double &a)
    {
        price = a;
    }
    void running()
    {
        cout<<brand<<" "<<price;
        cout<<" is running!"<<endl;
    }
};

bool cmp(Car a,Car b)
{
    return a.getPrice()>b.getPrice();
}

int main(int argc,char*argv[])
{
    vector<Car> mine;
    for(int i=0;i<5;i++)
    {
        string b1;
        double p1;
        cout<<"please input brand:";
        cin>>b1;
        cout<<"please input price:";
        cin>>p1;
        mine.push_back(Car(b1,p1));
    }
    sort(mine.begin(), mine.end(), cmp);
    cout<<"降序后:"<<endl;
    for(auto i:mine)
    {
        i.running();
    }

    return 0;
}